package com.turing.post.salesmanage.util;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 * @销售单付款信息
 * @author zxl
 * @date 2012-12-17
 */
@SuppressWarnings("serial")
@Entity
@Table(name = "SALEORDERPAIDDETAIL")
public class SaleOrderPaidDetail implements Serializable {

	/**
	 * 0-现金
	 */
	public static final String PAIDDETAIL_PAIDTYPE_CASH = "0";
	/**
	 * 1-支票
	 */
	public static final String PAIDDETAIL_PAIDTYPE_CHECK = "1";
	/**
	 * 2-银行转账
	 */
	public static final String PAIDDETAIL_PAIDTYPE_BANKTRANSFER = "2";

	/**
	 * 销售单付款ID
	 */
	private BigInteger saleOrderPaidId;

	/**
	 * 账务日期
	 */
	private Date tranDate;
	/**
	 * 付款时间
	 */
	private Date tranTime;
	/**
	 * 销售单ID
	 */
	private BigInteger saleOrderId;
	/**
	 * 销售款
	 */
	private String paidType;

	/**
	 * 0 销售款
	 */
	public static final String PAIDDETAIL_paidClass_sale = "0";
	/**
	 * 1 手续费
	 */
	public static final String PAIDDETAIL_paidClass_fee = "1";

	/**
	 * 2 押金
	 */
	public static final String PAIDDETAIL_paidClass_Deposit = "2";

	private String paidClass;
	/**
	 * 付款金额
	 */
	private BigInteger paidAmount;

	/**
	 * 入账流水Id非现金时填写
	 */
	private BigInteger bankAccDetailId;// 银行转账id
	/**
	 * 收款人ID
	 */
	private BigInteger payeeAccountId;
	/**
	 * 付款人ID
	 */
	private BigInteger paidAccountId;
	/**
	 * 凭证号
	 */
	private String voucherNo;
	/**
	 * 凭证摘要
	 */
	private String voucherRemark;
	/**
	 * 凭证图片Id
	 */
	private BigInteger voucherImageId;
	/**
	 * 操作员ID
	 */
	private BigInteger operId;
	/**
	 * 取消销售单付款ID
	 */
	private BigInteger cancelSaleOrderPaidId;
	/**
	 * 备注
	 */
	private String remark;

	/**
	 * 按钮操作
	 */
	private String cancelBtn;

	public SaleOrderPaidDetail() {
		super();
	}

	@Id
	@Column(name = "SALEORDERPAIDID", nullable = false)
	public BigInteger getSaleOrderPaidId() {
		return saleOrderPaidId;
	}

	public void setSaleOrderPaidId(BigInteger saleOrderPaidId) {
		this.saleOrderPaidId = saleOrderPaidId;
	}

	@Column(name = "tranDate")
	public Date getTranDate() {
		return tranDate;
	}

	public void setTranDate(Date tranDate) {
		this.tranDate = tranDate;
	}

	@Column(name = "TRANTIME", nullable = false)
	public Date getTranTime() {
		return tranTime;
	}

	public void setTranTime(Date tranTime) {
		this.tranTime = tranTime;
	}

	@Column(name = "SALEORDERID", nullable = false)
	public BigInteger getSaleOrderId() {
		return saleOrderId;
	}

	public void setSaleOrderId(BigInteger saleOrderId) {
		this.saleOrderId = saleOrderId;
	}

	@Column(name = "PAIDTYPE", nullable = false)
	public String getPaidType() {
		return paidType;
	}

	public void setPaidType(String paidType) {
		this.paidType = paidType;
	}

	@Column(name = "paidClass")
	public String getPaidClass() {
		return paidClass;
	}

	public void setPaidClass(String paidClass) {
		this.paidClass = paidClass;
	}

	@Column(name = "PAIDAMOUNT", nullable = false)
	public BigInteger getPaidAmount() {
		return paidAmount;
	}

	public void setPaidAmount(BigInteger paidAmount) {
		this.paidAmount = paidAmount;
	}

	@Column(name = "BankAccDetailId")
	public BigInteger getBankAccDetailId() {
		return bankAccDetailId;
	}

	public void setBankAccDetailId(BigInteger bankAccDetailId) {
		this.bankAccDetailId = bankAccDetailId;
	}

	@Column(name = "PAYEEACCOUNTID")
	public BigInteger getPayeeAccountId() {
		return payeeAccountId;
	}

	public void setPayeeAccountId(BigInteger payeeAccountId) {
		this.payeeAccountId = payeeAccountId;
	}

	@Column(name = "PAIDACCOUNTID")
	public BigInteger getPaidAccountId() {
		return paidAccountId;
	}

	public void setPaidAccountId(BigInteger paidAccountId) {
		this.paidAccountId = paidAccountId;
	}

	@Column(name = "VOUCHERNO")
	public String getVoucherNo() {
		return voucherNo;
	}

	public void setVoucherNo(String voucherNo) {
		this.voucherNo = voucherNo;
	}

	@Column(name = "VOUCHERREMARK")
	public String getVoucherRemark() {
		return voucherRemark;
	}

	public void setVoucherRemark(String voucherRemark) {
		this.voucherRemark = voucherRemark;
	}

	@Column(name = "voucherImageId")
	public BigInteger getVoucherImageId() {
		return voucherImageId;
	}

	public void setVoucherImageId(BigInteger voucherImageId) {
		this.voucherImageId = voucherImageId;
	}

	@Column(name = "OPERID", nullable = false)
	public BigInteger getOperId() {
		return operId;
	}

	public void setOperId(BigInteger operId) {
		this.operId = operId;
	}

	@Column(name = "CANCELSALEORDERPAIDID")
	public BigInteger getCancelSaleOrderPaidId() {
		return cancelSaleOrderPaidId;
	}

	public void setCancelSaleOrderPaidId(BigInteger cancelSaleOrderPaidId) {
		this.cancelSaleOrderPaidId = cancelSaleOrderPaidId;
	}

	@Column(name = "REMARK")
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**
	 * 查询列表按钮返回状态
	 * 
	 * @return
	 */
	@Transient
	public String getCancelBtn() {
		return cancelBtn;
	}

	public void setCancelBtn(String cancelBtn) {
		this.cancelBtn = cancelBtn;
	}
}
